// learning-actions.js - 底部操作按钮组件逻辑
// 引入学习数据管理器

Component({
  /**
   * 组件的属性列表
   */
  properties: {
    currentWordIndex: {
      type: Number,
      value: 1
    },
    totalWordsCount: {
      type: Number,
      value: 0
    },
    currentWord: {
      type: Object,
      value: {
        word: '',
        id: ''
      }
    }
  },
  
  /**
   * 组件的初始数据
   */
  data: {
    isWordMemorized: false,
    isLoadingSync: false
  },
  
  /**
   * 组件生命周期
   */
  lifetimes: {
    attached() {
      const app = getApp();
      this.wordLearningDataManager = app.globalData.wordLearningDataManager;
      this.wordDataManager = app.globalData.wordDataManager;
      this.updateWordMemorizedStatus();
    }
  },
  
  /**
   * 监听属性变化
   */
  observers: {
    'currentWord': function(newWord) {
      this.updateWordMemorizedStatus();
    }
  },

  /**
   * 组件的方法列表
   */
  methods: {
    /**
     * 更新单词记忆状态
     */
    updateWordMemorizedStatus: function() {
      if (this.data.currentWord && this.data.currentWord.id) {
        const isMemorized = this.wordLearningDataManager.getWordMemorizedStatus(this.data.currentWord.id);
        this.setData({
          isWordMemorized: isMemorized
        });
      }
    },
    /**
     * 上一个单词按钮点击事件
     */
    onPreviousWord: function() {
      // 触发自定义事件，通知父页面切换到上一个单词
      // 注意：上一个单词的同步应由父组件在切换后处理
      console.log('切换到上一个单词');
      this.triggerEvent('previousword');
    },

    /**
     * 下一个单词按钮点击事件
     */
    onNextWord: function() {
      // 触发自定义事件，通知父页面切换到下一个单词
      // 注意：下一个单词的同步应由父组件在切换后处理
      console.log('切换到下一个单词');
      this.triggerEvent('nextword');
    },

    /**
     * 标记为已学按钮点击事件
     */
    onMarkAsMemorized: function() {
      // 触发自定义事件，通知父页面标记当前单词的学习状态
      this.triggerEvent('markasmemorized');
    }
  }
});